import * as types from "../action-types";
const initState = {
    taglist: [],
};
export default function app(state = initState, action) {
    switch (action.type) {
        case types.TAGSVIEW_ADD_TAG:
            const tag = action.tag;
            if (state.taglist.includes(tag)) {
                return state;
            } else {
                return {
                    ...state,
                    taglist: [...state.taglist, tag],
                };
            }
        case types.TAGSVIEW_DELETE_TAG:
            return {
                ...state,
                taglist: [...state.taglist.filter((item) => item !== action.tag)],
            };
        case types.TAGSVIEW_EMPTY_TAGLIST:
            return {
                ...state,
                taglist: [...state.taglist.filter((item) => item.path === "/dashboard")],
            };
        case types.TAGSVIEW_CLOSE_OTHER_TAGS:
            return {
                ...state,
                taglist: [
                    ...state.taglist.filter(
                        (item) => item.path === "/dashboard" || item === action.tag
                    ),
                ],
            };
        default:
            return state;
    }
}
